﻿using BEL;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services;

namespace Web_Guia_Digital_Georeferenciada.Mantenimientos
{
    /// <summary>
    /// Descripción breve de ServiciosAutocompletado
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
    [System.Web.Script.Services.ScriptService]
    public class ServiciosAutocompletado : System.Web.Services.WebService
    {
        string ambiente = "sTrabajo";


        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public List<Comercio> ComerciosDestacados()
        {
            List<Comercio> ret = new List<Comercio>();
            if (ambiente == "Trabajo")
            {
                Comercio c1 = new Comercio();
                c1.ComercioNombre = "Kroser";
                c1.ComercioTelefono = "24873243";
                c1.ComercioDireccion = "propios 123";
                ret.Add(c1);
                Comercio c2 = new Comercio();
                c2.ComercioNombre = "Pogi";
                c2.ComercioTelefono = "24873243";
                c2.ComercioDireccion = "sdff 123";
                ret.Add(c2);
                Comercio c3 = new Comercio();
                c3.ComercioNombre = "JuanJose";
                c3.ComercioTelefono = "24873243";
                c3.ComercioDireccion = "sdfs< 123";
                ret.Add(c3);
                Comercio c4 = new Comercio();
                c4.ComercioNombre = "Kroser";
                c4.ComercioTelefono = "24873243";
                c4.ComercioDireccion = "propios 123";
                ret.Add(c4);
                Comercio c5 = new Comercio();
                c5.ComercioNombre = "La tuerquita";
                c5.ComercioTelefono = "24873243";
                c5.ComercioDireccion = "propios 123";
                ret.Add(c5);
                Comercio c6 = new Comercio();
                c6.ComercioNombre = "Cuandos";
                c6.ComercioTelefono = "24873243";
                c6.ComercioDireccion = "propios 123";
                ret.Add(c6);
            }
            else
            {
                Comercio c = new Comercio();
                ret = c.ComerciosDestacados();
            }
            return ret;
        }
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public List<Comercio> ComerciosMejorPuntuados()
        {
            List<Comercio> ret = new List<Comercio>();

            if (ambiente == "Trabajo")
            {

                Comercio c1 = new Comercio();
                c1.ComercioNombre = "Kroser";
                c1.ComercioTelefono = "24873243";
                c1.ComercioDireccion = "propios 123";
                ret.Add(c1);
                Comercio c2 = new Comercio();
                c2.ComercioNombre = "Pogi";
                c2.ComercioTelefono = "24873243";
                c2.ComercioDireccion = "sdff 123";
                ret.Add(c2);
                Comercio c3 = new Comercio();
                c3.ComercioNombre = "JuanJose";
                c3.ComercioTelefono = "24873243";
                c3.ComercioDireccion = "sdfs< 123";
                ret.Add(c3);
                Comercio c4 = new Comercio();
                c4.ComercioNombre = "Kroser";
                c4.ComercioTelefono = "24873243";
                c4.ComercioDireccion = "propios 123";
                ret.Add(c4);
                Comercio c5 = new Comercio();
                c5.ComercioNombre = "La tuerquita";
                c5.ComercioTelefono = "24873243";
                c5.ComercioDireccion = "propios 123";
                ret.Add(c5);
                Comercio c6 = new Comercio();
                c6.ComercioNombre = "Cuandos";
                c6.ComercioTelefono = "24873243";
                c6.ComercioDireccion = "propios 123";
                ret.Add(c6);
            }
            else
            {

                Comercio c = new Comercio();
                ret = c.ComerciosMejorPuntuados();
            }
            return ret;
        }
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string[] GetCustomers(string prefix)
        {
            List<string> customers = new List<string>();
            if (ambiente == "Trabajo")
            {
                customers.Add("Kroser");
                customers.Add("Poggi");
                customers.Add("Nuevo");
                customers.Add("La tuerca");
                customers.Add("otro");
            }
            else
            {
                Comercio com = new Comercio();
                customers = com.ObtenerComercios(prefix);
            }
            return customers.ToArray();
        }
        [WebMethod]
        public List<Coordenadas> ComerciosSegunRubros(int Variable1, string Variable2)
        {
            /*
             1- Por Nombre
             2- Por Rubro
             3- Por Tag
             4- Por Barrio
             */


            List<Coordenadas> retorno = new List<Coordenadas>();
            if (ambiente == "Trabajo")
            {
                retorno.Add(new Coordenadas("-34.903301", "-56.136889"));
                retorno.Add(new Coordenadas("-34.902301", "-56.133889"));
                retorno.Add(new Coordenadas("-34.904901", "-56.135189"));
                retorno.Add(new Coordenadas("-34.909301", "-56.134889"));

            }
            else
            {

                Comercio com = new Comercio();
                return com.ObtenerCoordenadasFiltros(0, 0, "");
            }
            return retorno;
        }

        [WebMethod]
        public List<Comentario> BuscarComentarios(int ComId)
        {
            return Comentario.BuscarComentarios(ComId);
        }

        [WebMethod]
        public string CargarDescripcion(int ComId)
        {
           return Comercio.BuscarDescripcionComercio(ComId);
        }

        [WebMethod]
        public List<Tag> CargarTags(int ComId)
        {
            return  Tag.BuscarTagsPorComercio(ComId);
        }

        [WebMethod]
        public List<Rubro> CargarRubros(int ComId)
        {
            return Rubro.BuscarRubrosXComercio(ComId);
        }

        [WebMethod]
        public List<Comercio> CargarSucursales(int ComId)
        {
            return Comercio.BuscarSucursales(ComId);
        }







        [WebMethod]
        public List<Coordenadas> BusquedaFiltros(int _Barrio, int _Rubro, string _Tag)
        {

            /*
             2- Por Rubro
             3- Por Tag
             4- Por Barrio
            */


            List<Coordenadas> lstcoords = new List<Coordenadas>();

            if (ambiente == "Trabajo")
            {
                Coordenadas coord1 = new Coordenadas();
                coord1.ComercioNombre = "Kroser";
                coord1.ComercioDireccion = "Av. Italia 123";
                coord1.ComercioTelefono = "24090758";
                coord1.Longitud = "-56.15546017885208";
                coord1.Latitud = "-34.90462167558077";
                lstcoords.Add(coord1);
                Coordenadas coord2 = new Coordenadas();
                coord2.ComercioNombre = "Poggi";
                coord2.ComercioDireccion = "Propios 4456";
                coord2.ComercioTelefono = "23058796";
                coord2.Longitud = "-56.15103989839554";
                coord2.Latitud = "-34.9004685464792";
                lstcoords.Add(coord2);
                Coordenadas coord3 = new Coordenadas();
                coord3.ComercioNombre = "Luis";
                coord3.ComercioDireccion = "Bvr. Artigas 2231";
                coord3.ComercioTelefono = "07048965";
                coord3.Longitud = "-56.14352971315384";
                coord3.Latitud = "-34.902650725243916";
                lstcoords.Add(coord3);
            }
            else
            {

                Comercio com = new Comercio();
                return com.ObtenerCoordenadasFiltros(_Barrio, _Rubro, _Tag);
            }
            return lstcoords;
        }
        [WebMethod]
        public List<Coordenadas> BusquedaCercanos()
        {


            List<Coordenadas> lstcoords = new List<Coordenadas>();
            if (ambiente == "Trabajo")
            {

                Coordenadas coord1 = new Coordenadas();

                coord1.ComercioNombre = "Kroser";
                coord1.ComercioDireccion = "Av. Italia 123";
                coord1.ComercioTelefono = "24090758";
                coord1.Longitud = "-56.15546017885208";
                coord1.Latitud = "-34.90462167558077";
                lstcoords.Add(coord1);
                Coordenadas coord2 = new Coordenadas();
                coord2.ComercioNombre = "Poggi";
                coord2.ComercioDireccion = "Propios 4456";
                coord2.ComercioTelefono = "23058796";
                coord2.Longitud = "-56.15103989839554";
                coord2.Latitud = "-34.9004685464792";
                lstcoords.Add(coord2);
                Coordenadas coord3 = new Coordenadas();
                coord3.ComercioNombre = "Luis";
                coord3.ComercioDireccion = "Bvr. Artigas 2231";
                coord3.ComercioTelefono = "07048965";
                coord3.Longitud = "-56.14352971315384";
                coord3.Latitud = "-34.902650725243916";
                lstcoords.Add(coord3);
                Coordenadas coord4 = new Coordenadas();
                coord4.ComercioNombre = "La pasiva";
                coord4.ComercioDireccion = "Bvr. Artigas 2231";
                coord4.ComercioTelefono = "2307048965";
                coord4.Longitud = "-56.13352971315384";
                coord4.Latitud = "-34.882650725243916";
                lstcoords.Add(coord4);
                return lstcoords;
            }
            else
            {

                Comercio com = new Comercio();
                return com.ObtenerCoordenadasFiltros(0, 0, "");
            }

        }
        [WebMethod]
        public List<Coordenadas> BusquedaComerciosAll()
        {
            List<Coordenadas> lstcoords = new List<Coordenadas>();
            if (ambiente == "Trabajo")
            {
                Coordenadas coord1 = new Coordenadas();
                coord1.ComercioNombre = "Kroser";
                coord1.ComercioDireccion = "Av. Italia 123";
                coord1.ComercioTelefono = "24090758";
                coord1.Longitud = "-56.15546017885208";
                coord1.Latitud = "-34.90462167558077";
                lstcoords.Add(coord1);
                Coordenadas coord2 = new Coordenadas();
                coord2.ComercioNombre = "Poggi";
                coord2.ComercioDireccion = "Propios 4456";
                coord2.ComercioTelefono = "23058796";
                coord2.Longitud = "-56.15103989839554";
                coord2.Latitud = "-34.9004685464792";
                lstcoords.Add(coord2);
                Coordenadas coord3 = new Coordenadas();
                coord3.ComercioNombre = "Luis";
                coord3.ComercioDireccion = "Bvr. Artigas 2231";
                coord3.ComercioTelefono = "07048965";
                coord3.Longitud = "-56.14352971315384";
                coord3.Latitud = "-34.902650725243916";
                lstcoords.Add(coord3);
                Coordenadas coord4 = new Coordenadas();
                coord4.ComercioNombre = "La pasiva";
                coord4.ComercioDireccion = "Bvr. Artigas 2231";
                coord4.ComercioTelefono = "2307048965";
                coord4.Longitud = "-56.13352971315384";
                coord4.Latitud = "-34.882650725243916";
                lstcoords.Add(coord4);
            }
            else
            {
                Comercio com = new Comercio();
                return com.ObtenerCoordenadasAll();
            }
            return lstcoords;
        }

        [WebMethod]
        public List<Coordenadas> BusquedaComerciosPrincipal(string filtro)
        {
            List<Coordenadas> lstcoords = new List<Coordenadas>();
            if (ambiente == "Trabajo")
            {
                Coordenadas coord1 = new Coordenadas();
                coord1.ComercioNombre = "Kroser";
                coord1.ComercioDireccion = "Av. Italia 123";
                coord1.ComercioTelefono = "24090758";
                coord1.Longitud = "-56.15546017885208";
                coord1.Latitud = "-34.90462167558077";
                lstcoords.Add(coord1);
                Coordenadas coord2 = new Coordenadas();
                coord2.ComercioNombre = "Poggi";
                coord2.ComercioDireccion = "Propios 4456";
                coord2.ComercioTelefono = "23058796";
                coord2.Longitud = "-56.15103989839554";
                coord2.Latitud = "-34.9004685464792";
                lstcoords.Add(coord2);
                Coordenadas coord3 = new Coordenadas();
                coord3.ComercioNombre = "Luis";
                coord3.ComercioDireccion = "Bvr. Artigas 2231";
                coord3.ComercioTelefono = "07048965";
                coord3.Longitud = "-56.14352971315384";
                coord3.Latitud = "-34.902650725243916";
                lstcoords.Add(coord3);
                Coordenadas coord4 = new Coordenadas();
                coord4.ComercioNombre = "La pasiva";
                coord4.ComercioDireccion = "Bvr. Artigas 2231";
                coord4.ComercioTelefono = "2307048965";
                coord4.Longitud = "-56.13352971315384";
                coord4.Latitud = "-34.882650725243916";
                lstcoords.Add(coord4);

                return lstcoords;
            }
            else
            {
                Comercio com = new Comercio();
                return com.ObtenerComerciosPrincipal(filtro);
            }
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string GetCustomers2()
        {

            return "Hola";
        }
    }
}
